package code12._class;

import org.junit.Test;

public class TestStaticClass {
	@Test
	public void f1() {
		// 在外部类 外部创建 静态内部类对象
		// 语法: 外部类.内部类 内部的对象名 = new 外部类.内部类();
		Outer2.Inner2 n1 = new Outer2.Inner2();
		n1.show();
	}
	
}
class Outer2 {// 外部类
	private static int age;
	private int id = 1;
	// 外部类，可以访问内部的内容
	
	static class Inner2 {// 静态内部类
		// 无法访问外部类的 成员(非静态)
		private static int age = 20;
		private int id = 2;
		public void show(){
			System.out.println(this.id);// 自己
			// 静态的 class 中无法使用 外部类的 this对象
			//System.out.println(Outer2.this.id);
			
			Outer2 o2 = new Outer2();
			System.out.println(o2.id);
			
			System.out.println(Inner2.age);
			System.out.println(Outer2.age);
		}
	}
	
}